#ifndef PROTOCOL_CENTER_H_
#define PROTOCOL_CENTER_H_

#include <cstdint>
#include <map>
#include <string>

class ProtocolCenter
{
public:
    enum ProtocolType
    {
        PROTOCOL_INIT,
        PROTOCOL_UDP,
        PROTOCOL_TCP
    };
    struct Protocol
    {
        std::string m_protocol_name;
        uint16_t    m_protocol_port;
        int         m_use_tls_or_dtls;
        int         m_protocol_type; // udp or tcp
    };

public:
    static Protocol FindProtocol(const std::string & name);

private:
    static std::map<std::string, Protocol> m_protocol_map;
};

#endif
